// 导入接口请求依赖
import {
  $http
} from '@escook/request-miniprogram'
// 导入 store 
import store from '@/store/store.js'
// $http 挂载在 uni 顶级对象中
uni.$http = $http
// 配置请求根路径
$http.baseUrl = 'https://api-hmugo-web.itheima.net'

// 请求拦截器
$http.beforeRequest = function(options) {
  // console.log(options);
  uni.showLoading({ // 显示加载层
    title: "加载中..."
  })
  
  // /my/orders 
  // 判断请求链接是否是支付或者订单相关的接口, 是的话 加上请求头(token)
  if (options.url.indexOf('/my/orders') !== -1) {
    options.header = {
      Authorization: store.state.m_user.token
    }
  }
}

// 响应拦截器
$http.afterRequest = function() {
  uni.hideLoading() // 关闭加载层
}

// 将请求出错 -- 弹出提示框封装成一个方法
uni.$showMsg = function (title= '请求失败, 请稍后重试!', duration= 1000) {
  uni.showToast({
    title,
    icon: 'none',
    duration // 提示框展示时间
  })
}


// #ifndef VUE3
import Vue from 'vue'
import App from './App'


Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
  ...App,
  // 将 store 挂载到 vue 实例上
  store
})
app.$mount()
// #endif

// #ifdef VUE3
import {
  createSSRApp
} from 'vue'
import App from './App.vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif
